Source routed forwarding solutions for multicast traffic are space consuming, i.e. result in large packet headers, limiting usage to very small multicast trees. Source routed multicast headers typically include multi-protocol label switching (MPLS) based stacked headers requiring a fixed 32 bits per label stack entry, each header representing an output interface. Other header representations may be used and are within the scope of this disclosure, and limitation to MPLS label representations is not to be inferred. During the source routed forwarding of data packets through the network, each of the intermediate nodes in the network receiving the data packet looks at the packet header to determine the next hop for the data packet. This is in contrast to having the intermediate nodes look at a routing table to determine the next hop. A source routed multicast tree may be represented by adding a header label entry for each link. Each link has two interfaces, one at each end of the link and therefore an entry may also be represented by inserting a header label for an outgoing interface for that link. The more links are traversed by each data packet, the more overhead that is added.
For large multicast trees, i.e., those traversing a large number of links, this fixed size header label approach for each link may become too long and generate too much overhead, becoming inefficient and limiting the size of multicast trees.